home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Libris Britannia 4
/
science library(b).zip
/
science library(b)
/
COMMUNIC
/
BULLETIN
/
0340A.ZIP
/
ODOC_000.ARC
/
REF_CTRL.DOC
< prev
next >
Wrap
Text File
|
1987-01-05
|
20KB
|
451 lines
OPUS
(c)Copyright 1986, Wynn Wagner III, All Rights Reserved.
The Embedded Commands
11 October 1986
"Toto, I've a feeling we're not in Kansas any more."
--- The Wizard of Oz
UPFRONT The Embedded Commands 11 October 1986
------------------------------------------------------------------------------
You can lead a full and meaningful life without using any of these
control codes. In fact, misusing them can probably lead to a lot of
grief. There is nothing here for the novice. If you are not intimately
familiar with Opus and running communication systems, please don't continue.
Most of the control codes assume you know what you are doing. Because the
GBS/BBS files are prepared with a word processor or text editor (ie...not
using any Opus software), there is no way for Opus to check your work.
You should review any files you create using Opus's KEYBOARD MODE before
trusting the file to an on-line situation. The Control-O commands (below)
can be particularly lethal if you aren't careful.
An overabundance of control codes in a BBS/GBS file can make a totally
unmaintainable file. You can build these files using any text editor
that's capable of inserting control codes into files, but I would consider
such a method the "Assembly Language of BBS/GBS Files". A handy Opus sysop
utility would be some sort of program (eg. WYSIWYG BBS/GBS editor) to make
these control codes more readable to the sysop during development. At this
writing, no such utility exists.
SUGGESTIONS The Embedded Commands 11 October 1986
------------------------------------------------------------------------------
[soapbox on]
It's very possible to use these commands to turn a perfectly good system
into one full of gimcracks (useless junk). An Opus sysop has an order of
magnitude more power over his/her system than does a Fido<tm> v11 sysop.
If you take that control, you must also share the responsibility. I think
it's great to add a little spice to a system, but the average user doesn't
call in order to see his/her screen wiggle. These commands are intended
to give the experienced sysop lots of versatility.
They are very easy to over-do!
Also... remember that if you use the MsDOS graphics characters in a BBS/GBS
file, you are going to make non-MsDOS screens look funny because they
won't know how to display the characters. There is absolutely nothing
"non-standard" in Opus itself. If you choose to add such features, you
also need to be prepared to answer questions and/or complaints about them.
[soapbox off]
COMMAND LISTING The Embedded Commands 11 October 1986
------------------------------------------------------------------------------
"Life is the process of figuring out things
which you are never going to do again."
-E.S.V.
These control codes can be inserted into any .BBS or .GBS file.
The only exception is DIR.BBS ... which must be a plain text file.
THE BASICS -------------------------------------------------
^A ... "Press ENTER to continue: "
^B ... disable ^C/^K aborting
^C ... enable ^C/^K aborting
^D ... Mark that it's a good time for a "MORE?"
^E ... Turn auto-More ON (default)
^F ... COMBINATION COMMAND (see below)
^G ... Ring the caller's bell
^H ... Backspace
^I ... Tab
^J ... Line feed
^K ... Turn auto-More OFF
^L ... Clear screen
^M ... Carriage return
^N ... [ reserved ]
^O ... COMBINATION COMMAND (see below)
^P ... COMBINATION COMMAND (see below)
^Q ... Used for XON/XOFF. Never use this.
^R ... [ reserved ]
^S ... Used for XON/XOFF. Never use this.
^T ... [ reserved ]
^U ... [ reserved ]
^V ... [ reserved ]
^W ... [ reserved ]
^X ... [ reserved ]
^Y ... [ reserved ]
^Z ... MsDOS end of file marker. Never use this.
DATA DISPLAY -----------------------------------------------
NOTE: Both command characters in this section are
CONTROL characters. The `^' symbol means `control.'
For example, `^F' represents CONTROL-F.
^F^A ... quote of the moment
^F^B ... user's name
^F^C ... user's city/state
^F^D ... current date
^F^E ... total number of calls user has made to system
expressed as an ORDINAL number (eg. `1st', `2d', etc)
^F^F ... user's first name
^F^G ... dramatic one-second pause
^F^K ... total minutes on-line in the last 24-hours,
including the time for the current call
^F^L ... length of the current call so far (in minutes)
^F^N ... control-niel (disconnect)
^F^O ... number of minutes remaining for this call
^F^P ... written-out date/time when the user has to be
off the system. NOTE: This uses a built-in Lattice-C
routine which appends the line with a <CR/LF>. You
should consider using ^F^P at the END of a line with
no punctuation ... until Prof.Norton and I can get in
and change a couple of things.
^F^Q ... number of calls to system to date (ORDINAL NUMBER)
^F^R ... NET downloads today (download minus upload)
If uploads are greater than downloads, this number
will be negative.
^F^T ... current time
^F^U ... on a questionnaire, all answers are required
^F^V ... on a questionnaire, all answers are optional
^F^W ... total user uploads
^F^X ... total user downloads
^F^Y ... upload:download ratio
QUESTIONAIRES, SURVEYS, ORDER FORMS ------------------------
NOTE: The second character of the commands in this section
is a REGULAR ("printable") character ... NOT a
control character.
HINT: Calm down a little, there are samples at the end
of this file.
^OMd ... store the last `^OR' response to the answer file.
(See `^OR' below). `d' is is a description of the
item which is NOT displayed. The description is
stored in the answer file. Also, see the examples
at the end of this file for more information.
^ONd ... let the user type a line and store it in the user
file. This roughly corresponds to the Fido<tm> "/"
command in questionaires. `d' is for a description
of the entry in the answer file.
^OOf ... open an answer file. `F' is a fully-qualified file
name including path, node, and extemsion.
^OP ... post user information to the answer file
FLOW AND USER INTERACTION ----------------------------------
NOTE: The second character of the commands in this section
is a REGULAR ("printable") character ... NOT a
control character.
"Remember-- no matter where you go, there you are."
--Buckaroo Banzai
^OCp ... call MsDOS with the command "p". This is an
embedded "O)utside" command. "P" is some command,
possibly the name of a program or batch file. It
is sent to MsDOS (via Command.Com) without
modification.
^OFb ... "On exit". Declare the name of a GBS/BBS file to
be transmitted if, for any reason, the current file
is terminated.
^OQ ... quit the file immediately
^ORv ... read menu. `V' is a sequence of characters ... a list
of the valid responses. Opus considers all of the
characters between the `R' and the first character
less than or equal to the space character to be part of
the list. In other words, you terminate the list with
a space, tab, end of line, or any other control char-
acter. Refer to an "ASCII CHART" for help in finding
what characters are "below" the space. Opus takes care
of upper/lowercase conversion for you. It is your
responsibility to handle any user prompts: there is no
display associated with this command. "Command
stacking" is fully supported. If the user types an
unrecognized character, Opus will ask him/her to try
again.
^OS ... show another file. The REST of the current line is
considered the name of a BBS/GBS file. Do *not*
include the file's extension. You can include a
drive and path. Most settings (eg Color, Auto-More)
are maintained across file boundries. If the file
you specify doesn't exist, the entire display sequence
is ended and the user is returned to Opus.
^OT ... top of file (dangerous: can produce an "endless loop")
Useful only for handling "fall-through" menu situations
and (with ^B set) for handling niels. (ah-hem)
^OUc ... user response. "C" is a single character. It is the
way to process information from the read menu (^OR)
command. If the user's most recent respons was not
the value you give for `c', the REST OF THE CURRENT
LINE is ignored.
PRIV CONTROL -----------------------------------------------
NOTE: The second character of the commands in this section
is a REGULAR ("printable") character ... NOT a
control character.
Dealing with the rest of the file...
^PD ... Below Disgraced don't see rest of file
^PN ... Below Normal don't see rest of file
^PP ... Below Privil (or Privel) don't see rest of file
^PE ... Below Extra don't see rest of file
^PA ... Below Assistant sysop don't see rest of file
^PS ... Below Sysop don't see rest of file
Commands dealing with the rest of the current line...
^PLD ... Below Disgraced don't see rest of line
^PLN ... Below Normal don't see rest of line
^PLP ... Below Privil (or Privel) don't see rest of line
^PLE ... Below Extra don't see rest of line
^PLA ... Below Assistant sysop don't see rest of line
^PLS ... Below Sysop don't see rest of line
FIDO<tm> COMPATIBLE QUESTIONAIRE COMMANDS ------------------
Important: All of the functionality in the following
--------- commands is available with ^O commands.
None of the following are guaranteed
beyond Opus Version Zero. Except for
some unusual circumstance, you should use
the ^O commands instead of these.
+nt ... column one only. Signals a multiple choice answer.
The `n' is actually a digit. EXAMPLE: `+3' would
accept 1, 2, or 3 as an answer. 'T' is normal text.
Opus will ask for the answer after the line of
text is displayed. The digit is
/t ... column one only. 'T' is normal text. After displaying
and text, Opus will wait for the user to type some
sort of character data. The answer is stored in
the answer file.
! ... column one only. If in the most recent multiple
choice question (see `+'), the user picked the highest
option (eg. `3' above), the questionaire will
terminate immediately.
* ... column one only. Put some user info (eg.name) into
the answer file.
?t ... column one only. 'T' is normal text which is not
transmitted. Instead, it is stored in the answer
file. This command is a Fido<tm> enhancement. It
is not guaranteed beyond Opus Version Zero. You
should try to use a ^O command instead.
Example:
Question file:
?NAME
/What is your name?
Answer file:
NAME Mark Twain
FOR FILES.BBS ONLY (Fido<tm> compatibility) ----------------
@ ... in column one, stops display for those under
AsstSysop. This is for Fido<tm> compatibility only.
You should not count on this remaining after
Version Zero. Use a ^P command instead.
- ... column one only. turns on WHITE. The display will
remain white until the next file name.
------------------------------------------------------------------------------
NOTE: There are several ^F commands that deal with the amount
of time a user has remaining. Until the user is totally
through the logon procedure, he/she will have about 10
minutes. The use of these commands prior to the first
MAIN MENU may produce unexpected results.
------------------------------------------------------------------------------
EXAMPLE 1
CONTENTS OF THE EXAMPLE 1 FILE:
Please select one of these:
H)elp on using the system
T)rojan horse program alert
E)quipment used on-line
Q)uit
Select: ^ORhteq
^L
^OUh^OSc:\opus\morehelp
^OUt^OSc:\opus\trojans
^OUq^Oq
We use an AT computer with a 30 meg Seagate disk drive.
The modem is a USR Courier 2400. There is 640k system
memory with 3 megabytes of extended memory which is used
as a RAM disk.
^OT
NOTES FOR EXAMPLE 1:
A short menu system for multiple bulletins. First the menu is displayed.
Then, after "Select: ", Opus will wait for the caller to type `H', `T',
or `A'. For aesthetics, we clear the screen after the menu response (^L).
Then.... if the caller typed `H', we will display the file MOREHELP. If
it's `T', the caller will see TROJANS. If the caller typed `Q', we will
exit the file display and return to Opus. The only unaccounted-for menu
response is `E' ... which is taken care of by the material at the end.
In other words, if the user gets to the part beginning with "We use an...",
he/she must have typed an `E'. It's the "fall-through" case here. Because
Opus doesn't have to change to another file, the fall-through will always
be the quickest. Finally, at the end of the file, we tell Opus to recycle
and display the menu again (^OT).
------------------------------------------------------------------------------
EXAMPLE 2
CONTENTS OF THE EXAMPLE 2 FILE:
Welcome to the board, ^F^B.
^OOc:\opus\newusers.txt
^OP
What is your occupation? ^ONoccupation
Please find your favorite color ...
B)lue R)ed M)agenta
L)ilac Y)ellow P)uce
Type the first letter of your choice: ^ORbrmlyp
^OMchoice
^OUbBlue! really? Wow, that's my favorite color, too!
Thanks for taking the time to fill out this questionaire.
NOTES FOR EXAMPLE 2:
A short survey. First we do a welcome that includes the user's name (^F^B).
Then we setup an answer file called C:\OPUS\NEWUSERS.TXT. Any responses
will be put into this file. Note that the answer file stays open across
files ... should you swap files using ^OS. The first item we put into the
answer file is the user's name (^OP). It is NOT ever necessary to ask a
user "What is your name"... not even a new user. It is easier on the system
and the caller to use the ^OP command rather than being redundant.
The first question deals with the user's occupation. The display would
look like this:
What is your occupation? _
Whether an answer is required depends on whether you have used the ^F^U
or ^F^V commands.
If the caller typed "accountant" then your answer file would contain
this line:
occupation: accountant
The description "occupation" was part of the ^ON command itself.
The next piece of business is a multiple choice question. It works exactly
like the MENU in example #1 above. The addition is `^OMchoice' to store
the user's response in the answer file. For example, if the user selected
RED, the answer file would look like this:
choice: R
Note that if the caller likes BLUE, Opus will get all excited. See the
`^OU' statement. We use this line for two reasons: (1)to show that you
can get exceedingly (excrutiatingly) clever; and (2)you can combine almost
any ^O command.
You can have more than one answer file. Every time you use ^OO, the
current answer file is closed and the new one opened or created. One
side effect involves opening the same file... not advised for normal
operation... but that is one way to force Opus to physically write to
disk any responses it has buffered.
###